Skip to content

Add supported stack sort controls to the Svelte UI#2278

Open
niemyjski with Copilot wants to merge 5 commits into
mainfrom
copilot/make-more-columns-sortable
Open

Add supported stack sort controls to the Svelte UI#2278
niemyjski with Copilot wants to merge 5 commits into
mainfrom
copilot/make-more-columns-sortable

Conversation

Copilot AI commented May 31, 2026

Copy link
Copy Markdown
Contributor

What changed

  • Add descending sort-by controls for Events, First, and Last on the Svelte stack table.
  • Map those controls to the existing stack_frequent, stack_new, and stack_recent API modes instead of sending unsupported sort parameters.
  • Keep session Duration non-sortable because the API has no global duration sort and client-side sorting would be incorrect across pagination.
  • Add focused column-contract and accessible interaction tests.
  • Merge the latest origin/main into the branch.

Why

The original implementation exposed generic TanStack sorting, which caused stack requests to return HTTP 400 and attempted to sort session duration by a field the API does not provide. This keeps the feature Svelte-only while using the backend contract that already exists.

Verification

  • npm run validate
  • Focused Vitest coverage for stack column configuration and stack sort header interaction
  • git diff --check

Runtime QA

Local AppHost startup was attempted with workspace-isolated Aspire state, but timed out after 120 seconds at Determining projects to restore. Other running Exceptionless worktrees were left untouched, so browser dogfood was not claimed against a different checkout.

Breaking changes

None.

@CLAassistant

CLAassistant commented May 31, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ niemyjski
❌ Copilot
You have signed the CLA already but the status is still pending? Let us recheck it.

Copilot AI linked an issue Jun 1, 2026 that may be closed by this pull request
Co-authored-by: niemyjski <1020579+niemyjski@users.noreply.github.com>
Copilot AI changed the title [WIP] Add sortable columns for users, frequent, and session events Enable sortable First/Last/Events stack columns and session Duration in Svelte tables Jun 1, 2026
Copilot AI requested a review from niemyjski June 1, 2026 00:27
@niemyjski niemyjski changed the title Enable sortable First/Last/Events stack columns and session Duration in Svelte tables Add supported stack sort controls to the Svelte UI Jul 10, 2026
@niemyjski niemyjski marked this pull request as ready for review July 10, 2026 19:16

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b6d3929e96

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

renderComponent(StackSortHeader, {
active: mode === 'stack_new',
label: 'First',
onclick: () => options?.onStackSort?.('stack_new')

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep First sort from filtering stacks

When users click the First header with any time range, this sends mode=stack_new; the server does not only sort by first occurrence for that mode, it also adds a first_occurrence:[range] filter in EventController.GetInternalAsync via AddFirstOccurrenceFilter, so stacks whose first occurrence predates the current range disappear even if they have matching recent events. A column header presented as sorting the current stack list should not change the result set/count; either avoid exposing this as a sort or use an API mode that preserves all matching stacks.

Useful? React with 👍 / 👎.

@github-actions

Copy link
Copy Markdown

Code Coverage

Package Line Rate Branch Rate Complexity Health
Exceptionless.AppHost 39% 41% 136
Exceptionless.Core 72% 64% 8644
Exceptionless.Insulation 24% 23% 205
Exceptionless.Web 79% 67% 5231
Summary 72% (17197 / 23732) 64% (8772 / 13676) 14216

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make more columns sortable

3 participants